Angular CLI : Une interface de ligne de commande pour Angular>

Angular CLI : Une interface de ligne de commande pour Angular



Google nous propose un outil clé en main pour réaliser les tâches de développement les plus courantes. Ce projet est basé sur le projet Open Source ember CLI, qui a maintenant plus de trois ans. Grâce à notre Angular Cli, il est possible de :

  • créer une application from scratch via un scaffolding ;
  • Générer des squelettes des composants type Components… ;
  • Builder un projet ;
  • Lancer des tests de type « End-to-End » ou « unitaire » ;
  • Proxyfier le back end ;
  • Et beaucoup d'autres choses…


Angular-Cli est un outil en ligne de commande puissant qui va vous permettre de créer un projet contenant un ensemble plus que complet d'outils en vogue dans le monde JavaScript.

À la racine du projet, on retrouve un ensemble de fichiers de configuration :

  • package.json : fichier déclarant les dépendances NPM tirées lors de l'installation du projet et nécessaire à la compilation et les tests.
  • .editorconfig : ce fichier est issu du projet EditorConfig. Il a pour but de maintenir une cohérence dans le code entre l'ensemble des éditeurs et IDE du marché. Le fichier fonctionne nativement sur certains éditeurs alors qu'un plugin sera nécessaire pour d'autres. Très peu d'éditeurs/IDE ne connaissent pas ce fichier ; c'est donc un standard de fait.
  • README.md : fichier de présentation du projet au format Markdown utilisé notamment sur Github.
  • .gitignore : fichier permettant de déclarer les fichiers qui ne doivent pas être commités sur le repository Git.
  • karma.conf.js : fichier de paramétrage du Test runner Karma. Karma est un outil permettant de lancer des tests sur une série de browser/device automatiquement. Il est déjà configuré pour être lancé sur le navigateur Chrome avec le framework de test Jasmine.
  • protractor.conf.js : fichier de paramétrage de l'outil de e2e Protractor. E2E, ou end-to-end, est une discipline permettant de réaliser des tests d'intégration ; il est ainsi possible de réaliser des tests simulant un utilisateur final utilisant l'application dans un browser type Chrome.
  • tslint.json : fichier définissant les règles de codage TypeScript. Tout comme le fichier .editorconfig, il est reconnu par la majorité des éditeurs de code.
  • angular-cli.json : fichier de paramétrage central utilisé par Angular-cli. Ce fichier permet de définir où sont placés les sources de l'application, les différents fichiers de configuration, les scripts js et css tiers… Ce fichier est largement utilisé par la librairie webpack nouvellement ajoutée à Anguar-Cli.
  • src : à la racine du répertoire src, on retrouve les fichiers classiques index.html, favicon.ico, styles.css, mais également le main.ts (bootstrap d'Angular), le fichier de configuration de la compilation TypeScript tsconfig.json, un fichier de définition TypeScrit typings.d.ts, et un ensemble de polyfills utiles à Angular,
  • src/app : on retrouve les sources de notre premier projet, dont notre nouveau Component : AppComponent. 
  • src/assets : cet espace permet d'y placer tous les assets tels que les images. Lors de la compilation de l'application via Angular-cli, un dossier dist va être créé. Le contenu de ce dossier sera placé à la racine de dist.
  • src/environments : les fichiers contenus dans ce dossier permettent de définir les variables spécifiques à chaque environnement d'exécution (prod, dev, integration). Par défaut, l'environnement de dev sera utilisé (fichier environment.ts). Si l'on souhaite utiliser le fichier de production, il est nécessaire d'ajouter le paramètre -env=prod lors de l'appel de la commande ng build.


Installation

npm install -g @angular/cli


Usage

ng help


Génération et service d'un projet Angular via un serveur de développement

ng new PROJECT-NAME
cd PROJECT-NAME
ng serve


Accédez à http: // localhost: 4200 /. L'application sera automatiquement rechargée si vous modifiez l'un des fichiers source.

Vous pouvez configurer l'hôte et le port HTTP par défaut utilisés par le serveur de développement avec deux options de ligne de commande:

ng serve --host 0.0.0.0 --port 4201


Génération de composants, de directives, de tuyaux et de services

Vous pouvez utiliser la commande ng generate (ou simplement ng g) pour générer des composants angulaires:

ng generate component my-new-component
ng g component my-new-component # using the alias

# components support relative path generation
# if in the directory src/app/feature/ and you run
ng g component new-cmp
# your component will be generated in src/app/feature/new-cmp
# but if you were to run
ng g component ../newer-cmp
# your component will be generated in src/app/newer-cmp
# if in the directory src/app you can also run
ng g component feature/new-cmp
# and your component will be generated in src/app/feature/new-cmp


Vous pouvez trouver tous les plans possibles dans le tableau ci-dessous:

Scaffold Usage
Component ng g component my-new-component
Directive ng g directive my-new-directive
Pipe ng g pipe my-new-pipe
Service ng g service my-new-service
Class ng g class my-new-class
Guard ng g guard my-new-guard
Interface ng g interface my-new-interface
Enum ng g enum my-new-enum
Module ng g module my-module


angular-cli ajoutera automatiquement une référence aux composants, directives et pipes dans app.module.ts. Si vous devez ajouter ces références à un autre module personnalisé, procédez comme suit:

1 - ng g module new-module pour créer un nouveau module
2 - appeler ng g composant nouveau-module / nouveau-composant

Cela devrait ajouter la nouvelle référence de composant, de directive ou de tuyau au nouveau module que vous avez créé.

Mise à jour de l'interface CLI angular

Si vous utilisez Angular CLI 1.0.0-beta.28 ou moins, vous devez désinstaller le paquet angular-cli. Cela devrait être fait en changeant le nom et la portée du paquet de angular-cli à @ angular / cli:

npm uninstall -g angular-cli
npm uninstall --save-dev angular-cli


To update Angular CLI to a new version, you must update both the global package and your project's local package.

Global package:

npm uninstall -g @angular/cli
npm cache clean
# if npm version is > 5 then use `npm cache verify` to avoid errors (or to avoid using --force)
npm install -g @angular/cli@latest


Local project package:

rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell
npm install --save-dev @angular/cli@latest
npm install


Conseils de développement pour travailler sur CLI angular

git clone https://github.com/angular/angular-cli.git
cd angular-cli
npm link


ng new foo
cd foo
npm link @angular/cli
ng serve


Pour commencer par ici https://cli.angular.io/